
package std.crypto.cipher


@!APILevel[
    since: "22"
]
public interface BlockCipher {
    @!APILevel[
        since: "22"
    ]
    prop blockSize: Int64
    
    @!APILevel[
        since: "22"
    ]
    prop algorithm: String
    
    @!APILevel[
        since: "22"
    ]
    func encrypt(input: Array<Byte>): Array<Byte>
    
    @!APILevel[
        since: "22"
    ]
    func decrypt(input: Array<Byte>): Array<Byte>
    
    @!APILevel[
        since: "22"
    ]
    func encrypt(input: Array<Byte>, to!: Array<Byte>): Int64
    
    @!APILevel[
        since: "22"
    ]
    func decrypt(input: Array<Byte>, to!: Array<Byte>): Int64
}

